from PublicReference.base import *

class 极诣狂战士技能0(主动技能):
    名称 = '崩山击'
    所在等级 = 10
    等级上限 = 60
    基础等级 = 48
    基础 = 1013.28
    成长 = 114.59
    CD = 4.0
    TP成长 = 0.08
    TP上限 = 7

class 极诣狂战士技能1(主动技能):
    名称 = '十字斩'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    基础 = 860.58
    成长 = 97.49
    CD = 2.4
    TP成长 = 0.08
    TP上限 = 7

class 极诣狂战士技能2(主动技能):
    名称 = '血之狂暴'
    所在等级 = 15
    等级上限 = 30
    基础等级 = 20
    是否有伤害 = 0
    关联技能 = ['所有']
    def 加成倍率(self, 武器类型):
        if self.等级<=20:
            return round(1.00 + 0.01 * self.等级, 5)
        else:
            return round(0.9 + 0.015 * self.等级, 5)

class 极诣狂战士技能3(被动技能):
    名称 = '血气唤醒'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.267 + 0.02 * self.等级, 5)

class 极诣狂战士技能4(主动技能):
    名称 = '噬魂之手'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    基础 = 1596.89
    成长 = 180.37
    CD = 4.8
    TP成长 = 0.10
    TP上限 = 7

class 极诣狂战士技能5(主动技能):
    名称 = '怒气爆发'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    基础 = 3609.99
    成长 = 408.28
    CD = 12.8
    TP成长 = 0.10
    TP上限 = 7


class 极诣狂战士技能6(主动技能):
    名称 = '嗜魂封魔斩'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    基础 = 7436.27
    成长 = 839.57
    CD = 24.0
    TP成长 = 0.10
    TP上限 = 7

class 极诣狂战士技能7(主动技能):
    名称 = '暴怒狂斩'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    基础 = 6307.74
    成长 = 713.37
    CD = 20.0
    TP成长 = 0.10
    TP上限 = 7
    是否有护石 = 1
    def 装备护石(self):
        self.倍率 *= 1.241
        self.CD *= 0.9

class 极诣狂战士技能8(主动技能):
    名称 = '嗜血'
    所在等级 = 35
    等级上限 = 20
    基础等级 = 10
    是否有伤害 = 0
    关联技能 = ['所有']
    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.10 + 0.01 * self.等级, 5)

class 极诣狂战士技能9(主动技能):
    名称 = '血气之刃'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    基础 = 5746.64
    成长 = 609.12
    CD = 16.0
    TP成长 = 0.10
    TP上限 = 7
    是否有护石 = 1
    def 装备护石(self):
        self.倍率 *= 1.28

class 极诣狂战士技能10(主动技能):
    名称 = '崩山裂地斩'
    所在等级 = 45
    等级上限 = 60
    基础等级 = 31
    基础 = 9631.45
    成长 = 1087.83
    CD = 32.0
    TP成长 = 0.10
    TP上限 = 7
    是否有护石 = 1
    def 装备护石(self):
        self.倍率 *= 1.18
        self.CD *= 0.95


class 极诣狂战士技能11(被动技能):
    名称 = '鲜血之忆'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.114 + 0.015 * self.等级, 5)

    def 独立攻击力倍率进图(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.114 + 0.015 * self.等级, 5)

class 极诣狂战士技能12(主动技能):
    名称 = '魔狱血刹'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    基础 = 22214.25
    成长 = 6760.35
    CD = 145

class 极诣狂战士技能13(主动技能):
    名称 = '鲜血暴掠'
    所在等级 = 60
    等级上限 = 40
    基础等级 = 23
    基础 = 11831.13
    成长 = 1222.96
    CD = 30.0
    TP成长 = 0.10
    TP上限 = 7
    是否有护石 = 1
    def 装备护石(self):
        self.倍率 *= 1.20

class 极诣狂战士技能14(主动技能):
    名称 = '血气爆发'
    所在等级 = 70
    等级上限 = 40
    基础等级 = 18
    基础 = 20854.70
    成长 = 2357.85
    CD = 50.0
    TP成长 = 0.10
    TP上限 = 7
    是否有护石 = 1
    def 装备护石(self):
        self.倍率 *= 1.17
        self.CD *= 0.95

class 极诣狂战士技能15(被动技能):
    名称 = '汲血之力'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)

class 极诣狂战士技能16(主动技能):
    名称 = '浴血之怒'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 16
    基础 = 29527.59
    成长 = 3333.80
    CD = 40.0

class 极诣狂战士技能17(主动技能):
    名称 = '致命血陨'
    所在等级 = 80
    等级上限 = 40
    基础等级 = 13
    基础 = 37057.24
    成长 = 4183.92
    CD = 45.0

class 极诣狂战士技能18(主动技能):
    名称 = '血魔弑天'
    所在等级 = 85
    等级上限 = 40
    基础等级 = 5
    基础 = 59577.84
    成长 = 17983.02
    CD = 180

class 极诣狂战士技能19(被动技能):
    名称 = '血气界限'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 4

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)

class 极诣狂战士技能20(主动技能):
    名称 = '疯魔血魂斩'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 6
    基础 = 61005.85
    成长 = 6887.20
    CD = 60.0

class 极诣狂战士技能21(主动技能):
    名称 = '血魔极道灭世'
    所在等级 = 100
    等级上限 = 40
    基础等级 = 2
    基础 = 171669.68
    成长 = 51826.05
    CD = 290
    关联技能 = ['无']

    def 加成倍率(self, 武器类型):
        return 0.0




极诣狂战士技能列表 = []
i = 0
while i >= 0:
    try:
        exec('极诣狂战士技能列表.append(极诣狂战士技能'+str(i)+'())')
        i += 1
    except:
        i = -1

极诣狂战士技能序号 = dict()
for i in range(len(极诣狂战士技能列表)):
    极诣狂战士技能序号[极诣狂战士技能列表[i].名称] = i

极诣狂战士一觉序号 = 0
极诣狂战士二觉序号 = 0
极诣狂战士三觉序号 = 0
for i in 极诣狂战士技能列表:
    if i.所在等级 == 50:
        极诣狂战士一觉序号 = 极诣狂战士技能序号[i.名称]
    if i.所在等级 == 85:
        极诣狂战士二觉序号 = 极诣狂战士技能序号[i.名称]
    if i.所在等级 == 100:
        极诣狂战士三觉序号 = 极诣狂战士技能序号[i.名称]

极诣狂战士护石选项 = ['无']
for i in 极诣狂战士技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        极诣狂战士护石选项.append(i.名称)

极诣狂战士符文选项 = ['无']
for i in 极诣狂战士技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        极诣狂战士符文选项.append(i.名称)

class 极诣狂战士角色属性(角色属性):

    职业名称 = '极诣狂战士'

    武器选项 = ['太刀','钝器','巨剑','短剑']
    
    #'物理百分比','魔法百分比','物理固伤','魔法固伤'
    伤害类型选择 = ['物理固伤']
    
    #默认
    伤害类型 = '物理固伤'
    防具类型 = '重甲'
    防具精通属性 = ['力量']

    主BUFF = 2.160
   
    #基础属性(含唤醒)
    基础力量 = 966.0
    基础智力 = 784.0
    
    #适用系统奶加成
    力量 = 基础力量
    智力 = 基础智力

    #人物基础 + 唤醒
    物理攻击力 = 65.0
    魔法攻击力 = 65.0
    独立攻击力 = 1045.0
    火属性强化 = 13
    冰属性强化 = 13
    光属性强化 = 13
    暗属性强化 = 13
  
    def __init__(self):
        self.技能栏= copy.deepcopy(极诣狂战士技能列表)
        self.技能序号= copy.deepcopy(极诣狂战士技能序号)

class 极诣狂战士(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 极诣狂战士角色属性()
        self.角色属性A = 极诣狂战士角色属性()
        self.角色属性B = 极诣狂战士角色属性()
        self.一觉序号 = 极诣狂战士一觉序号
        self.二觉序号 = 极诣狂战士二觉序号
        self.三觉序号 = 极诣狂战士三觉序号
        self.护石选项 = copy.deepcopy(极诣狂战士护石选项)
        self.符文选项 = copy.deepcopy(极诣狂战士符文选项)
